const graph = require('./graph');

const visited = new Set();
visited.add(2);
const q = [2];
while (q.length){
    const n = q.shift();
    console.log(n);
    graph[n].forEach(c => {
        if (!visited.has(c)){
            q.push(c);
            //注意与深度优先遍历算法中，Set.add()方法位置的不同
            //有些元素虽然还没有被访问，但已经添加在队列中
            //所以在入队时，就要标记为已访问，防止在队列中出现重复的元素
            visited.add(n);
        }
    })
}